#ifndef SHARE_UTILITIES_CONSTANTTAG_H
#define SHARE_UTILITIES_CONSTANTTAG_H

enum
{

    JVM_CONSTANT_Utf8 = 1,
    JVM_CONSTANT_Unicode = 2, /* unused */
    JVM_CONSTANT_Integer = 3,
    JVM_CONSTANT_Float = 4,
    JVM_CONSTANT_Long = 5,
    JVM_CONSTANT_Double = 6,
    JVM_CONSTANT_Class = 7,
    JVM_CONSTANT_String = 8,
    JVM_CONSTANT_Fieldref = 9,
    JVM_CONSTANT_Methodref = 10,
    JVM_CONSTANT_InterfaceMethodref = 11,
    JVM_CONSTANT_NameAndType = 12,

    // See jvm.h for shared JVM_CONSTANT_XXX tags
    // NOTE: replicated in SA in vm/agent/sun/jvm/hotspot/utilities/ConstantTag.java
    // Hotspot specific tags
    JVM_CONSTANT_Invalid = 0,                  // For bad value initialization
    JVM_CONSTANT_InternalMin = 100,            // First implementation tag (aside from bad value of course)
    JVM_CONSTANT_UnresolvedClass = 100,        // Temporary tag until actual use
    JVM_CONSTANT_ClassIndex = 101,             // Temporary tag while constructing constant pool
    JVM_CONSTANT_StringIndex = 102,            // Temporary tag while constructing constant pool
    JVM_CONSTANT_UnresolvedClassInError = 103, // Error tag due to resolution error
    JVM_CONSTANT_MethodHandleInError = 104,    // Error tag due to resolution error
    JVM_CONSTANT_MethodTypeInError = 105,      // Error tag due to resolution error
    JVM_CONSTANT_DynamicInError = 106,         // Error tag due to resolution error
    JVM_CONSTANT_InternalMax = 106             // Last implementation tag

};

class constantTag
{
};

#endif